2016-07-05 2 views
-1

как изменить alt с заменой preg? Я просто написал этот код, а semms не работает.preg заменить не ожидаемые результаты

$zmieniamy = get_content(); 
$slowokluczowe[0] = '1'; 
$slowokluczowe[1] = '2'; 
$slowokluczowe[2] = '2'; 
$slowokluczowe[3] = '3'; 
$slowokluczowe[4] = '4'; 
$k = array_rand($slowokluczowe); 

echo preg_replace('/alt="(.*?)"/', $slowokluczowe[$k], $zmieniamy); 

Любые советы? :)

+0

Tip1: объяснить, где это 'alt', что вы хотите заменить – PaulH

+0

его внутри GET_CONTENT() –

+0

странное название затем – PaulH

ответ

0

У вас что-то странное происходит с помощью ваших ключей массива. А именно: $k = array_rand($slowokluczowe); следуют: $slowokluczowe[$k]

$ к уже случайное значение массива (и строка). Зачем использовать его в качестве ключа снова (в массиве с числовой индексацией)?

$zmieniamy = get_content(); 
$slowokluczowe[0] = '1'; 
$slowokluczowe[1] = '2'; 
$slowokluczowe[2] = '2'; 
$slowokluczowe[3] = '3'; 
$slowokluczowe[4] = '4'; 
$k = array_rand($slowokluczowe); 

echo preg_replace('/alt="(.*?)"/', $k, $zmieniamy); 
+0

@Freshview dev-1 Tip2: отметьте этот ответ как принятый или объясните, почему это не то, что вы ищете – PaulH

0

Основываясь на ответе от @Ben Hillier.

Я предполагаю, что вы хотите сохранить «Alt», так что это адаптированный preg_replace()

$zmieniamy = '<img src="src" alt="alt">'; 
$slowokluczowe[0] = '1'; 
$slowokluczowe[1] = '2'; 
$slowokluczowe[2] = '2'; 
$slowokluczowe[3] = '3'; 
$slowokluczowe[4] = '4'; 
$k = array_rand($slowokluczowe); 

echo preg_replace('/alt="(.*?)"/', 'alt="'. $k .'"', $zmieniamy); // <img src="src" alt="2"> 
Смежные вопросы