2012-03-28 3 views
0

Я работаю над системой шаблонов. У меня есть ввод html-документа от пользователя, который содержит html-теги и javascript-коды.preg_match все, чтобы захватить все содержимое тега скрипта в массив

Я в порядке с тегами html. Я хотел бы только совместить все коды javascript и добавить его в массив для загрузки его в нижней части страницы.

Я пробовал найти содержимое тега скрипта, используя бот бота preg_match, который не работает. мой код:

$strPattern = "/<script>[^(<\/script>)]<\/script>/i"; 
    preg_match_all($strPattern, $strReturn, $arrMatches); 
    echo 'matches---'; 
    var_dump($arrMatches); 
    $strReturn = preg_replace($strPattern, '', $strReturn); 

Что мне не хватает?

ответ

0

Использование PHP DomDocument, http://php.net/manual/en/class.domdocument.php

Вы можете пройти и обработать дерево DOM и отформатировать его соответствующим образом. Это упростит вашу жизнь по сравнению с REGEX.

+0

его приятно, и я даже попробовал тоже. он работал, но не может заменить/очистить тег скрипта из исходной строки – KoolKabin

+0

, вы можете прочитать узел, а затем удалить его, как указано здесь: http://stackoverflow.com/questions/1171597/how-to-remove-an-html -element-using-the-domdocument-class, а затем добавить его в нижней части документа – DhruvPathak

+0

, он добавляет голову, тело и doctype тоже, если их там нет ... я их не хочу – KoolKabin

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