如何在html标记之间搜索单词?假设我有给定的字符串:
<span style="font-weight: bold;">
<font size="4">Bearings<br /><br /></font>
</span>
<span style="font-weight: bold;">
<font size="4">
Scale Drawing & Error in Measurement<br /><br />
</font>
</span>
<p align="left" class="MsoNormal" style="text-align: left;">
<b/>
<span lang="EN-GB">
<font size="4" class="Apple-style-span">
Solving Equations inc. Quadratic Formula
</font>
</span>
</b>
</p>
我如何搜索标题:方位,比例绘制&测量和求解方程股份有限公司二次公式中的ampl误差?还要记住,标题前后的html标签数量是动态的,这意味着它们可以是任何东西,也可以有任何数量。此外,标题本身也是动态的,我不知道它们到底是什么。我在找他们。然而,我知道它们在字符串的开头,这意味着我可以做一些事情,比如搜索双引号,然后是直角括号">,然后是通配符*,然后是右括号和正斜杠</
"> * </
注意,我对regex一无所知,我只是说我可以对类似的东西进行搜索,因为</
的第一次出现意味着标题就在它之前。
您可以使用strip_tags
从字符串中删除所有HTML,然后搜索文本。
$data = '<h1 class="refname">strip_tags</h1>
<p class="para rdfs-comment">
This function tries to return a string with all NUL bytes, HTML and PHP tags stripped
from a given <em><code class="parameter">str</code></em>. It uses the same tag stripping
state machine as the <span class="function"><a href="function.fgetss.php" class="function">fgetss()</a></span> function.
</p>';
print strip_tags($data);
以上将输出
strip_tags
此函数试图返回一个字符串,其中去掉所有NUL字节、HTML和PHP标记
来自给定的str。它使用相同的标签剥离
状态机作为fgetss()函数。
我建议您使用html解析器,例如:http://simplehtmldom.sourceforge.net/否则,在正则表达式中总会漏掉一些case。
您是否尝试在运行时执行此操作?您可以使用javascript和DOMinnerHTML属性。你说HTML是动态的,可能会有所不同,但如果它们总是在标签中,这样的东西可能对你有用。
<script type="text/javascript">
txt=document.getElementsByTagname("span").innerHTML;
document.write(txt);
</script>
点击此处查看更多信息:http://www.w3schools.com/htmldom/dom_methods.asp