2014-11-10 3 views
0

str_replace только позвольте мне заменить слова.PHP Заменить все предложение из строки

Предложение Я ищу это:

[TD="align: left"]".$num."[/TD] [TD="align: left"][/TD] 

И мне нужно, чтобы заменить его:

[TD="align: left"]".$num."[/TD] [TD="align: left"]".$uid"[/TD] 

Зоркий вещь им находится в переменной $ newres

Я пробовал str_replace, но, как сказано выше, он только позволяет мне заменять слово за раз, я искал создание массива, но это не сработает, потому что есть несколько

[TD = "Выравнивание: левый"] [/ TD]

в строке

Спасибо!

+0

Это просто какой-то BB код. –

+0

Да @ h2ooooooo, я вижу, что сейчас, я думал слишком далеко вперед. –

+0

Тогда вы делаете что-то неправильно с экранированием при использовании 'str_replace'. 'echo str_replace (« Foo Bar »,« »,« Hello Foo Bar World »),' отлично работает и не просто «слова» ... – dognose

ответ

0

попробовать этот

$q='[TD="align: left"]3[/TD] [TD="align: left"][/TD]'; 
$q .='[TD="align: left"]33[/TD] [TD="align: left"][/TD]'; 
$num=3; 
$uid=6; 
$w=str_replace('[TD="align: left"]'.$num.'[/TD] [TD="align: left"][/TD]','[TD="align: left"]'.$num.'[/TD] [TD="align: left"]'.$uid.'[/TD]',$q); 

var_dump($q,$w); 

выход:

string '[TD="align: left"]3[/TD] [TD="align: left"][/TD][TD="align: left"]33[/TD] [TD="align: left"][/TD]' (length=97) 

string '[TD="align: left"]3[/TD] [TD="align: left"]6[/TD][TD="align: left"]33[/TD] [TD="align: left"][/TD]' (length=98) 
+0

Не уверен, что это дает. 'uid' - строка' num' - это число. Оба уже установлены. –

+0

, пожалуйста, укажите код с str_replace –

+0

'$ q = '[TD =" align: left "] 3 [/ TD] [TD =" align: left "] [/ TD]'; \t \t \t \t \t \t $ q. = '[TD = "align: left"] 33 [/ TD] [TD = "align: left"] [/ TD]'; \t \t \t \t \t \t $ ш = str_replace ('[TD = "Выравнивание: левый"]' $ Num '[/ TD] [TD = "Align: левый"] [/ TD]'.., '[ TD = "align: left"] '. $ Num.' [/ TD] [TD = "align: left"] '. $ Uid.' [/ TD] ', $ q); \t \t \t \t \t \t var_dump ($ д, $ ш); 'UID это лол Num равен 3 –