2014-02-21 3 views
1

Я хотел бы заменить строку какpreg_replace с (. *) Не работает

title="CONTSTANTWORD fnwif 740933840 j iowej902 ijofiowi CONTSTANTWORD" 

с

id="detectLink" 

Слово CONTSTANTWORD, на удивление, постоянная. Остальные,

fnwif 740933840 j iowej902 ijofiowi 

является переменной.

Я нашел this answer, так что я редактировал код для этого:

$html = preg_replace('title="CONTSTANTWORD (.*) CONTSTANTWORD"','id="detectLink"',$string); 

Но, к сожалению, это не работает. Кто-нибудь знает, как должен выглядеть мой код preg_replace?

Edit: это ошибка, я получаю:

Предупреждение: preg_replace() [function.preg замены]: Разделитель должен быть не алфавитно-цифровой или обратной косой черты в ..... в строке 8

+0

определить не работает? – exussum

+1

попробуйте установить обратные ссылки вокруг выражения '/ EXPRESSION_HERE /' –

+0

Спасибо, это сработало. – Art

ответ

3
$test = 'title="CONTSTANTWORD fnwif 740933840 j iowej902 ijofiowi CONTSTANTWORD"'; 
$html = preg_replace('#title="CONTSTANTWORD (.*) CONTSTANTWORD"#','id="detectLink"',$test); 
var_dump($html); 

Выходы

string(15) "id="detectLink"" 

Вам нужно поставить разделитель вокруг регулярных выражений

+0

Разделитель работает, я использовал a/вместо этого. Спасибо! – Art

Смежные вопросы