标签: preg-replace

str_replace A标记的name属性中带有连字符的空格

$ string = preg_replace("#[name =([a-zA-Z0-9 .-] +)*]#",''."$ 1",$ string);

部分脚本不起作用:

str_replace(' ', '-', "$1")
Run Code Online (Sandbox Code Playgroud)

我需要更换""用" - ",我也尝试preg_replace内主preg_replace,str_ireplace

但这仍然不起作用

php regex preg-replace

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

如何在PHP中查找,增加和替换?

我在表单中有字符串,\d+_\d+我想在第二个数字中添加1.由于我的解释非常清楚,让我举几个例子:

  • 1234567_2应该变为1234567_3
  • 1234_10应该变成1234_11

这是我的第一次尝试:

$new = preg_replace("/(\d+)_(\d+)/", "$1_".((int)$2)+1, $old);
Run Code Online (Sandbox Code Playgroud)

这会导致语法错误:

解析错误:语法错误,意外T_LNUMBER,在[...] 201行上预期T_VARIABLE或'$'

这是我的第二次尝试

$new = preg_replace("/(\d+)_(\d+)/", "$1_".("$2"+1), $old);
Run Code Online (Sandbox Code Playgroud)

这会将$ old = 1234567_2转换为$ new = 1234567_1,这不是所需的效果

我的第三次尝试

$new = preg_replace("/(\d+)_(\d+)/", "$1_".((int)"$2"+1), $old);
Run Code Online (Sandbox Code Playgroud)

这产生了同样的结果.

通过做这些尝试,我意识到我不明白新的$ 1,$ 2,$ 3,..变量是如何工作的,所以我真的不知道还有什么可以尝试,因为看起来这些变量在退出时不再存在preg_replace函数...

有任何想法吗?

php regex backreference preg-replace

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

PHP - 正则表达式删除引号并添加大括号?

好吧,我讨厌承认它,但我很难用REGEX,我找不到一个关于如何设置表达式的体面教程.

所以说我有这样的事情

context['something']
Run Code Online (Sandbox Code Playgroud)

我想将所有事件都更改为

context[something] 
Run Code Online (Sandbox Code Playgroud)

然后我有

' . $var . ' 
Run Code Online (Sandbox Code Playgroud)

我想将所有事件都更改为

{var} 
Run Code Online (Sandbox Code Playgroud)

这是当前的概念,但我遇到了正则表达式部分的问题.我正在使用str_replace但是随着语言的改变,我认为它不会那么稳定.

这是我的尝试.

$codes = array (
         '/(\' \. \$)(.+)( \. \')/',
        '/(\[\')(.+)(\'\])/'
);
$html = array (
        '{\\2}',
        '[\\2]',
);
$data = preg_replace($codes, $html, $data); 
Run Code Online (Sandbox Code Playgroud)

它一直有效,直到你把它们分配到一个文件然后它变坏了.

这是当前的设置

// these are temp need a better replace system
$data = str_replace("' . $", "{", $data);
$data = str_replace(" . '", "}", $data);
$data = str_replace("<?php", "", $data);
$data = str_replace("?>", "", $data);
$data = str_replace('context[\'forum_name\']', 'context[forum_name]', $data); 
Run Code Online (Sandbox Code Playgroud)

只需要一个正确的方法来评论它们,以便稍后在保存期间将它们转换回来.

有人可以帮忙吗? …

php regex replace preg-replace

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

preg_replace html标签

我想删除一个字符串的所有html标签(包括它们的属性,如类,SRC,身份证等),但我想保留<ul>,<li><br />标签.我将如何做到这一点?

任何建议将不胜感激.

谢谢!

php regex preg-replace

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

PHP preg_replace错误:未知修饰符']'

对另一个preg_replace问题道歉!

我收到错误:

Warning: preg_replace() [function.preg-replace]: Unknown modifier ']' in C:\xampp\htdocs\reg.php on line 6
Run Code Online (Sandbox Code Playgroud)

运行以下preg_replace时:

$newContent = preg_replace('<img [^>]*.gif[^>]*?>','MATCHED',$newContent);
Run Code Online (Sandbox Code Playgroud)

我通过几个在线正则表达式构建器运行正则表达式,看起来很合理.我在这里缺少什么想法?我使用]不正确吗?

php regex preg-replace

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

PHP:替换所有实例

我有一个看起来像这样的chatlog文件(名称代表屏幕名称,文字是他们的聊天字符串)

name: some text
name2: more text
name: text
name3: text
Run Code Online (Sandbox Code Playgroud)

我想把所有名字都染成:红色.
例如:<font color=red>myname:</fontcolor> hello 我该怎么做?

我不知道为什么,但这段代码在冒号之后对所有内容进行着色

echo preg_replace('/(.*?):/', "<font color=#F00>$1</font>:", $output);
Run Code Online (Sandbox Code Playgroud)

php regex replace preg-replace

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

PHP preg_replace单词,但如果单词前面有某些字符则不会

我想用PHP preg_replace替换一个单词.如果在此单词之前存在字符/>,则不应替换该单词.

如果匹配则应该替换

$word = "foo";
Run Code Online (Sandbox Code Playgroud)

如果匹配则不应更换

$word = "/>foo";
Run Code Online (Sandbox Code Playgroud)

php regex preg-replace

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

如何将preg_replace e转换为preg_replace_callback?

好的,所以我有点困惑.这是我现在的代码,但我发现e修改器已被弃用.我如何将其转换为preg_replace_callback()?我还是没弄明白.

$post = preg_replace("/\[code\]([^] )\[\/code\]/e", 'code(\'$1\')', $post);
Run Code Online (Sandbox Code Playgroud)

php regex preg-replace preg-replace-callback

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

PHP在<a - tag之前添加空格

我需要在每个之前添加一个空格

<a
Run Code Online (Sandbox Code Playgroud)

如果还没有空格,用php中的字符串.

所以这

hello world <a
Run Code Online (Sandbox Code Playgroud)

应该保持原样

但是这个

hello world<a
Run Code Online (Sandbox Code Playgroud)

应该与第一个例子相同.

感谢您的输入!

php regex preg-replace

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

从字符串中删除美元符号

这让我感到困惑

试图从字符串中删除一个美元符号被证明是不可能的,这里有什么问题?

这是我必须要做的事情:

array(2) { [0]=> string(10) "$18.95" [1]=> string(11) " $17.06" }
Run Code Online (Sandbox Code Playgroud)

这是我试过的

  1. floatval($price[0]);
  2. str_replace('$','',$price[0]);
  3. ltrim($price[0],'$');
  4. floatval(ltrim($price[0],'$'));
  5. floatval(preg_replace("/^[^0-9\.]/","",$price[0]))

唯一接近的是

floatval(preg_replace('/[^\d\.]/', '', $price[0]))
Run Code Online (Sandbox Code Playgroud)

但它增加了"36"的数字 - 而不是18.95我得到了3618.95

没有什么工作......为什么?

`

php replace preg-replace

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