我是新到的,但我决定,这是我需要做的事情的最容易的路线。 基本上,我有一套显示(PHP),包含全负荷的超文本。 我想去除任何具有风格的标签:none...
例如
<img src=“风格”=“display:none”/>
<img src=“风格=”width:11px;display:0” >
......
我的雷克迄今是:
<img.* Format=.*display.*:*none;* >
但是,这似乎留下了html的轨道,如果在营地使用先令时也把下一个要素排除在外。
我是新到的,但我决定,这是我需要做的事情的最容易的路线。 基本上,我有一套显示(PHP),包含全负荷的超文本。 我想去除任何具有风格的标签:none...
例如
<img src=“风格”=“display:none”/>
<img src=“风格=”width:11px;display:0” >
......
我的雷克迄今是:
<img.* Format=.*display.*:*none;* >
但是,这似乎留下了html的轨道,如果在营地使用先令时也把下一个要素排除在外。
Michael 指出,你不想使用 为此进行审核。 A Regex不了解哪一个因素。 <代码><foo>作为“>foo<
,除非你教授这一区别。 教授差异固然令人难以置信。
人力部更为方便:
$html = <<< HTML
<img src="" style="display:none" />
<IMG src="" style="width:11px;display: none" >
<img src="" style="width:11px" >
HTML;
以上是我们的(无效的)标志。 我们把它提供给OMM一样:
$dom = new DOMDocument();
$dom->loadHtml($html);
$dom->normalizeDocument();
现在,我们就包含“显示”案文的“一类”特性的所有“IMG”内容向OM提出疑问。 我们可以就XPath的“显示:无”提出疑问,但我们的投入标志已经出现,没有空间:
$xpath = new DOMXPath($dom);
foreach($xpath->query( //img[contains(@style, "display")] ) as $node) {
$style = str_replace( , , $node->getAttribute( style ));
if(strpos($style, display:none ) !== FALSE) {
$node->parentNode->removeChild($node);
}
}
我们热衷于国际小组的节点,把所有白色空间从其风格的特性中删除。 然后,我们检查它是否包含“显示:无”,如果是,将内容从人力部移走。
现在我们只需要拯救我们的超文本:
echo $dom->saveHTML();
我们:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><img src="" style="width:11px"></body></html>
Screw Regex!
$html = preg_replace("/<img[^>]+style[^>]+none[^>]+>/", , $html);
由于<img>
don t 允许其中的任何其他内容,因此这样做是可能的;但一般而言,管制是一种完全坏的工具,用于重新界定的语文,如超文本。
不管怎么说,你可能遭遇的问题是:关闭和关闭;配以一种表达方式;结果会是后来的,并且符合你的明确性。
如果你用[^>]* 取代你的全部内容,这将防止这种情况发生。 (可能不会有
您的定期表达方式过于宽泛;*
> 系指“事项” ,因此,与以下方面相对应:
<img src="foo.png" style="something">Some random displayed text : foo none; bar<br>
至少,你可能希望将封闭的方括号排除在座标中,例如<代码>[^>]*,而不是<代码>。 您也不妨读到,然而,并研究如何使用实际理解的超文本,例如
这里是另一个版本,它与包括星体介质之间有空间的对口单位(:none或> 显示:<0/strong>)合作。 除此以外,它删除了各标签内的内容。
$html = preg_replace( /<[^>]+style[^>]+display:s*none[^>]+>.*?>/ , , $html);
因此,我用以下方法测试了它,并做了罚款。
Only show<div style= display:none >Delete inside content as well</div> this text.
Only show<span style= display: none >Delete inside content as well</span> this text.
Only show<div style="display: none">Delete inside content as well</div> this text.
Only show<span style="display:none;">Delete inside content as well</span> this text.
现在只需要产出。
Only show this text.
I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...
<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...
I found this script online that creates a thumbnail out of a image but the thumbnail image is created with poor quality how can I improve the quality of the image. And is there a better way to create ...
如何确认来自正确来源的数字。
Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...
I wonder there is a way to post a message to a facebook business page with cURL? thanks
I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...
How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...