2013-09-02 2 views
0

Im слом сайта с следующий HTMLИгнорировать HTML-теги на preg_match

<a class="name" href="/link" data-hovercard-id="charshere"><span class="highlighted">War</span> World</a> 

<a class="name" href="/link" data-hovercard-id="charshere"> World of <span class="highlighted">fun</span></a> 

<a class="name" href="/link" data-hovercard-id="charshere">Save the<br>world</a> 

<a class="name" href="/link" data-hovercard-id="charshere">world of warcraft</a> 

с помощью этого кода я получаю значение ссылки

preg_match_all('/<a class="name" href=".*?" data-hovercard-id=".*?">(.*)<\/a>/i', $file_string, $titles); 

но результат

<span class="highlighted">War</span> World 
World of <span class="highlighted">fun</span> 
Save the<br>world 
world of warcraft 

Как игнорировать ли теги html внутри него? чтобы это выглядело так:

War World 
World of fun 
Save the world 
world of warcraft 

DomDocument может быть лучше. Благодарю. пытался использовать domDocument, но я не знал, как использовать его xquery.

+0

http://php.net/manual/en/function.strip-tags.php –

ответ

3

Использование strip_tags(). А вот пример:

$html = <<<EOF 
<span class="highlighted">War</span> World 
World of <span class="highlighted">fun</span> 
Save the<br>world 
world of warcraft 
EOF; 

echo strip_tags($html); 

Выход:

War World 
World of fun 
Save theworld 
world of warcraft 
+0

Спасибо. Не знаю о strip_tags – Snippet

0

Просто удалить теги после получения текста:

<?php 
$string = '<span class="highlighted">War</span> World 
World of <span class="highlighted">fun</span> 
Save the<br>world 
world of warcraft'; 
$convert = preg_replace('/<.*?>/','', $string); 
print $convert; 

распечаток:

War World 
World of fun 
Save theworld 
world of warcraft 
0

Вы можете удалить HTML-теги после воплотили вашу строку для ссылки. Например,

$str = preg_replace('/<[^<]+>/', '', $html); 
Смежные вопросы