相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<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)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

如何在大括号内获取嵌套值

如何使用PHP进入嵌套大括号?

例:

{{ text1 {{text2 text3 {{text4}} text5}} }}
Run Code Online (Sandbox Code Playgroud)

应该输出

1- text1 {{text2 text3 {{text4}} text5}}
2- text2 text3 {{text4}} text5
3- text4
Run Code Online (Sandbox Code Playgroud)

php regex

3
推荐指数
1
解决办法
1328
查看次数

PHP正则表达式无法正常工作 - 在本地服务器上返回NULL,但在其他服务器上正常工作

我有以下正则表达式:

/\{\s?joomla-tag\s+(.*<+.+>+.*)\s?\}/is
Run Code Online (Sandbox Code Playgroud)

和以下代码:

$regex = "/\{\s?joomla-tag\s+(.*<+.+>+.*)\s?\}/is";
$replace = '<div class="someclass">$1</div>';
$text = preg_replace( $regex, $replace, $text );
Run Code Online (Sandbox Code Playgroud)

但是,不幸的是,它无法匹配以下代码(尽管如此):

.... many html lines .......
<p>123{joomla-tag Lore<strong>m</strong> ip</p>
<p>sum dolor sit amet}</p>
.... many html lines .......
Run Code Online (Sandbox Code Playgroud)

请参阅真实示例: http ://pastebin.com/WSQyrmxd

怎么了:正则表达还是其他什么?你能告诉你正确的变体吗?在RegExr中,一切都很顺利,但不是在PHP中.

在本地服务器上,我只是在preg_replace之后得到NULL


编辑: 最后我找到了一个解决方案:(谢谢,sg3s,一个想法) http://www.pelagodesign.com/blog/2008/01/25/wtf-preg_replace-returns-null/

php regex

2
推荐指数
1
解决办法
949
查看次数

标签 统计

regex ×3

php ×2

html ×1

xhtml ×1