Php 拆分和替换HTML标记元素
我有一个动态标记元素,我需要用PHP替换特定的标记 基本上我只需要标签Php 拆分和替换HTML标记元素,php,html-parsing,Php,Html Parsing,我有一个动态标记元素,我需要用PHP替换特定的标记 基本上我只需要标签 将成为: <a target="_blank" title="Visit MarcAira14 on Facebook" href="http://www.facebook.com/MarcAira14" > <img alt="Facebook icon" src="/sites/all/modules/contrib/socialmedia/icons/levelten/gloss
将成为:
<a target="_blank"
title="Visit MarcAira14 on Facebook"
href="http://www.facebook.com/MarcAira14"
>
<img alt="Facebook icon" src="/sites/all/modules/contrib/socialmedia/icons/levelten/glossy/48x48/facebook.png">
</a>
我还需要获取title属性中的最后一个字符串(title=“访问Facebook上的MarcAira14”
),在本例中是“Facebook”
任何有想法或建议的人都将不胜感激。这是regex版本。我已经测试过了,它是有效的。text.html是您的源字符串
它搜索“这正是HTML解析器存在的目的。一种方法是使用PHP自己的
DOMDocument
另一种可能更简单的方法是,它是一个很好的文档包装器。(虽然最近一次更新是在2009年5月,但它似乎已经有一段时间没有更新了。)
phpQuery大量借用jQuery,因此如果您熟悉它,可以使用许多已知的概念
对于您的情况,应该是这样的:
$doc=phpQuery::newDocument($yourHtmlRhtmlFragment);
$links=$doc['a[title!='']:has(img)';
foreach($links作为$link)
{
$title=$link->getAttribute('title');
$words=爆炸(“”,$title);
$last_word=结束($words);
pq($link)->empty()->text($last_word);
}
另请参阅
这里讨论了其他用于PHP的HTML解析器:。对于常规表达式来说似乎是一项很好的任务对于DOMDocument来说似乎是一项很好的任务当只有
<a target="_blank"
title="Visit MarcAira14 on Facebook"
href="http://www.facebook.com/MarcAira14"
>Facebook</a>