我需要匹配所有这些开始标记:
<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)
但不是这些:
<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)
我想出了这个,并希望确保我做对了.我只抓住了a-z.
<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)
我相信它说:
/,然后我有这个权利吗?更重要的是,你怎么看?
说我有以下文字
..(content).............
<A HREF="http://foo.com/content" >blah blah blah </A>
...(continue content)...
Run Code Online (Sandbox Code Playgroud)
我想删除链接,我想删除标签(同时保持文本之间).如何使用正则表达式执行此操作(因为URL将全部不同)
非常感谢
我将格式良好的xml文档转换为字符串变量.我想使用preg_replace为每个xml标记添加一个已定义的属性.
例如替换:
<tag1>
<tag2> some text </tag2>
</tag1>
Run Code Online (Sandbox Code Playgroud)
通过:
<tag1 attr="myAttr">
<tag2 attr="myAttr"> some text </tag2>
</tag1>
Run Code Online (Sandbox Code Playgroud)
所以我基本上需要正则表达式来查找任何开始标记并添加我的属性,但我是一个完整的正则表达式菜鸟.
我需要从文本中删除图像标记,因此标记的两个版本:
<img src="" ... ></img>
<img src="" ... />
Run Code Online (Sandbox Code Playgroud) 我想捕获名为'STRONG'的所有标签我可以使用<STRONG.*?</STRONG>这工作得很好但我不想捕获这些标签如果'SPAN'标签进来这些标签我想要这样的东西<STRONG.*(^(SPAN)).*?</STRONG>
是示例文本
<STRONG> For technical <SPAN id=PageBreak>101</SPAN> please</STRONG>
<SPAN id=PageBreak type="4">56</SPAN><STRONG> visit</STRONG>
Run Code Online (Sandbox Code Playgroud)
我想捕获第二个强标记,而不是第一个
我试图在php中解析一串HTML标记属性.可能有3种情况:
attribute="value" //inside the quotes there can be everything also other escaped quotes
attribute //without the value
attribute=value //without quotes so there are only alphanumeric characters
Run Code Online (Sandbox Code Playgroud)
有人可以帮我找到一个正则表达式,可以在第一个匹配中获得属性名称,在第二个匹配属性值(如果它存在)?
我想用正则表达式来替换srchtml属性.HTML没有格式错误,幸运的是在数据库的所有页面中采用相同的形式 - 即
<img src="http://x.y/z/1.png" />
Run Code Online (Sandbox Code Playgroud)
如果页面中只有一个图像,我的代码可以正常工作.我想知道替换多个图像的最佳方法,因为这个将用相同的字符串替换所有图像标记.
$result = $s->db_query("SELECT reviewFullText as f FROM reviews WHERE reviewsID = 155");
while($row = mysql_fetch_array($result))
{
$body = stripslashes(html_entity_decode($row['f'], ENT_NOQUOTES, "UTF-8"));
preg_match_all('/<img.*?(src\=[\'|"]{0,1}.*?[\'|"]{0,1})[\s|>]{1}/i', $body, $matches);
for($i=0;$i<count($matches[0]);$i++)
{
$number = preg_replace("/[^0-9]/", '', $matches[0][$i]);
echo preg_replace('/<img.*?(src\=[\'|"]{0,1}.*?[\'|"]{0,1})[\s|>]{1}/i', '<img src="http://x.y/a/' . $number . '.png"', $matches[0][$i]);
}
}
Run Code Online (Sandbox Code Playgroud)
因此,如果页面包含两个文件,一个名为1.png,另一个名为2.png,则脚本应解析这些数字并将其替换为不同的URL,例如http://x.y/a/1.png和http://x.y/a/2.png.
我听说这preg_replace_callback是最好的方法,但我不知道如何让这个工作......帮助!
我需要一个正则表达式(用PHP工作)用英式英语单词替换HTML中的美式英语单词.因此,颜色将被颜色取代,以米为单位等等[我知道米也是英国英语单词,但对于副本我们将使用它将始终指的是距离单位而不是测量设备].该模式需要在以下(略微设计的)示例中准确工作(尽管由于我无法控制实际输入,因此可能存在):
<span style="color:red">This is the color red</span>
Run Code Online (Sandbox Code Playgroud)
[不应该替换HTML标记中的颜色,但应该在句子中替换它]
<p>Color: red</p>
Run Code Online (Sandbox Code Playgroud)
[应该替换字]
<p>Tony Brammeter lives 2000 meters from his sister</p>
Run Code Online (Sandbox Code Playgroud)
[应该替换单词的米而不是名称]
我知道有一些边缘情况,替换不会有用(例如,如果他的名字是Tony Meter),但这些很少见,我们可以在他们出现时处理它们.