$ 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也
但这仍然不起作用
我在表单中有字符串,\d+_\d+我想在第二个数字中添加1.由于我的解释非常清楚,让我举几个例子:
这是我的第一次尝试:
$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函数...
有任何想法吗?
好吧,我讨厌承认它,但我很难用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)
只需要一个正确的方法来评论它们,以便稍后在保存期间将它们转换回来.
有人可以帮忙吗? …
我想删除一个字符串的所有html标签(包括它们的属性,如类,SRC,身份证等),但我想保留<ul>,<li>和<br />标签.我将如何做到这一点?
任何建议将不胜感激.
谢谢!
对另一个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)
我通过几个在线正则表达式构建器运行正则表达式,看起来很合理.我在这里缺少什么想法?我使用]不正确吗?
我有一个看起来像这样的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 preg_replace替换一个单词.如果在此单词之前存在字符/>,则不应替换该单词.
即
如果匹配则应该替换
$word = "foo";
Run Code Online (Sandbox Code Playgroud)
如果匹配则不应更换
$word = "/>foo";
Run Code Online (Sandbox Code Playgroud) 好的,所以我有点困惑.这是我现在的代码,但我发现e修改器已被弃用.我如何将其转换为preg_replace_callback()?我还是没弄明白.
$post = preg_replace("/\[code\]([^] )\[\/code\]/e", 'code(\'$1\')', $post);
Run Code Online (Sandbox Code Playgroud) 我需要在每个之前添加一个空格
<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)
应该与第一个例子相同.
感谢您的输入!
这让我感到困惑
试图从字符串中删除一个美元符号被证明是不可能的,这里有什么问题?
这是我必须要做的事情:
array(2) { [0]=> string(10) "$18.95" [1]=> string(11) " $17.06" }
Run Code Online (Sandbox Code Playgroud)
这是我试过的
floatval($price[0]);str_replace('$','',$price[0]);ltrim($price[0],'$');floatval(ltrim($price[0],'$'));floatval(preg_replace("/^[^0-9\.]/","",$price[0]))唯一接近的是
floatval(preg_replace('/[^\d\.]/', '', $price[0]))
Run Code Online (Sandbox Code Playgroud)
但它增加了"36"的数字 - 而不是18.95我得到了3618.95
没有什么工作......为什么?
`