嗨:)
我尝试获取与正则表达式不匹配的所有文本, 我使用PHP
我的正则表达式是:
/(<[^>]+>)/is
我将在HTML标记内获取所有文本
我尝试过:(?!(<[^>]+>))
和很多东西……
输入:
<html><head><title>Nice page</title></head>
<body>Hello World <a href=http://cyan.com title="un lien">Ceci est un lien</a> <a>sdfaf</a>
<br /><a href=http://www.riven.com> Et ca aussi <img src=wrong.image title="et encore ca">dd</a>
</body></html>
我想用正则表达式匹配html标记内的所有文本
赞:
“尼斯页面 你好世界文化基金会 Et ca aussi dd“
谢谢! :)
答案 0 :(得分:2)
使用DOMDocument来做到这一点:
$dom = new DOMDocument;
$dom->loadHTML($yourstring);
$xp = new DOMXPath($dom);
foreach($xp->query('//text()') as $textNode) {
echo $textNode->nodeValue, PHP_EOL;
}
答案 1 :(得分:0)
此正则表达式应逐步选择所有文本内容:
/>([^<]+)/g
答案 2 :(得分:0)
有一个strip_tags()
函数无需进一步配置即可完成
<?php
$input = '<html><head><title>Nice page</title></head><body>Hello World <a href=http://cyan.com title="un lien">Ceci est un lien</a><a>sdfaf</a><br /><a href=http://www.riven.com> Et ca aussi <img src=wrong.image title="et encore ca">dd</a><body></html>';
print( strip_tags($input) );