如何在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>
如何搜索标题:测量和解决方程式中的轴承,比例绘制和放大误差。二次公式?还要记住,标题之前和之后的html标签数量是动态的,意味着它们可以是任何东西,并且可以有任何数量。此外,标题本身是动态的,我不知道它们实际上是什么。我正在寻找他们。但是,我知道它们位于字符串的开头,这意味着我可以执行诸如搜索双引号然后使用直角括号“&gt;然后使用通配符*然后使用右括号和正斜杠{{ 1}}
</
请注意,我不知道正则表达式,我只是说我可以对类似的东西进行搜索,因为"> * </
的第一次出现意味着标题就在此之前。
答案 0 :(得分:4)
您可以使用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()函数。
答案 1 :(得分:1)
我建议您使用html解析器,例如:http://simplehtmldom.sourceforge.net/否则您将总是错过正则表达式中的某些情况。
答案 2 :(得分:1)
您是否尝试在运行时执行此操作?您可以使用javascript和DOM innerHTML属性。你说HTML是动态的,可能会有所不同,但如果它们总是在标签中,那么这样的东西可能适合你。
<script type="text/javascript">
txt=document.getElementsByTagname("span").innerHTML;
document.write(txt);
</script>