我已经google了一个正则表达式来抓取并阅读了一些教程,我似乎无法得到一个可靠的正则表达式来做到这一点.
我需要做的是编写一个JavaScript正则表达式,它将匹配字符串中的PHP标记.
我继承了一个大型的php项目,其中混合了html和php的视图不是很易读.所以我正在做的是编写一个IDE扩展,供我个人使用,以删除在php视图中混合的php,以便在其上运行HTML缩进脚本,而不会混淆HTML缩进脚本.然后在缩进脚本完成后我回去再次重新插入php.
到目前为止我所拥有的是(我从一个正在寻找括号[]的正则表达式转换它,我知道它不会匹配所有东西,但它让我足够充实我的IDE扩展):
var php_tag_pattern = /<\?[^<>]*\?>/;
Run Code Online (Sandbox Code Playgroud)
现在由于显而易见的原因,它不匹配代码如下:
<?=$common->format_number($acct_info['number'])?>
Run Code Online (Sandbox Code Playgroud)
或这个:
<?
$wifi = $wifi_lib->wifi_radius($v['radiusgroupname']);
if (!empty($wifi)) :?>
Run Code Online (Sandbox Code Playgroud)
在过去的几个小时里,我一直在搞乱这个问题,所以我想我最终会寻求帮助,看看我错过了什么.
谢谢!
要匹配多行php文本,您需要在Javascript中实现DOTALL.不幸的是,Javascript没有s标志,但有一个解决方法.试试这段代码:
var php_tag_pattern = /<\?[=|php]?[\s\S]*?\?>/;
Run Code Online (Sandbox Code Playgroud)
[\s\S] 将确保在多行中匹配php文本,包括新行.
| 归档时间: |
|
| 查看次数: |
781 次 |
| 最近记录: |