str_replace не работает должным образом для HTML-контента, получаемого из curl - PullRequest
0 голосов
/ 13 апреля 2011

Я использую curl, чтобы получить html и сохранить его в $ content. Затем я пробую str_replace, он не работает:

echo str_replace('<a onclick="get_content(\'http://en.wikipedia.org\');" style="cursor: default;">Dojo</a> Applications','OK',$content);

Но когда я пытаюсь напечатать $ content, скопировать источник и снова сохранить его в $ content, он работает:

echo $ content; Затем я копирую распечатанный файл и снова сохраняю его в $ content:

$content='It is <a onclick="get_content(\'http://en.wikipedia.org\');" style="cursor: default;">Dojo</a> Applications';

С новым $ content, замена выше работает.

1 Ответ

0 голосов
/ 13 апреля 2011

В вашей строке поиска есть встроенный возврат.Это будет иметь любые окончания строк в вашем PHP-файле.Возможно, содержание вашего curl имеет разные окончания строки.Попробуйте это:

$content = str_replace("\r\n", "\n", $content);
echo str_replace('<a onclick="get_content(\'http://en.wikipedia.org\');"'."\n".'style="cursor: default;">Dojo</a> Applications','OK',$content);
...