我有一个弦
$cmd = "java -jar yuicompressor-2.4.8.jar --type *file_type* *original_file* > *new_file*";
我想像下面这样替换
java -jar yuicompressor-2.4.8.jar --type css css/style.css > css/style.min.css
我所做的是
$cmd = str_replace("*original_file*", $v, $cmd);
$cmd = str_replace("*new_file*", "$k", $cmd);
$cmd = str_replace("*file_type*", "css", $cmd);
我正在寻找类似preg_replace
的排序方式。任何建议将不胜感激。
参考方案
我看不到为什么正则表达式在这里有意义。相反,我建议您仅使用str_replace函数来一次进行多个替换:
<?php
$subject = 'java -jar yuicompressor-2.4.8.jar --type *file_type* *original_file* > *new_file*';
$catalog = [
'*file_type*' => 'css',
'*original_file*' => 'css/style.css',
'*new_file*' => 'css/style.min.css'
];
var_dump(str_replace(array_keys($catalog), $catalog, $subject));
输出显然是:
string(78) "java -jar yuicompressor-2.4.8.jar --type css css/style.css > css/style.min.css"
这是一种简单而强大的方法,比使用基于正则表达式的模式匹配要高效得多。
PHP preg_replace删除字符串中的第一个HTML元素 - php我想在PHP中删除html字符串(始终是一个段落)的整个第一个元素。我目前的方法是使用:$passage = preg_replace('/.*?\b'.'</p>'.'\b/s', '', $passage, 1); 由于</p>中的特殊字符,此方法不起…
PHP:Preg_replace,单词边界和非单词字符 - php我需要替换文本中以井号(#)开头的单词。好吧,我知道如何替换整个单词。preg_replace("/\b".$variable."\b/", $value, $text);由于该\ b修饰符仅接受单词字符,因此不会替换包含井号的单词。我有这个html,其中包含#companyName类型的变量,我将其替换为一个值。 参…
PHP preg_replace替换数字以及特殊字符 - php我有以下PHP代码可从变量中删除特殊字符;<?php $name = "my%^$@#name8"; $patterns = array( '/\s+/' => '_', '/&/' => 'and', '/[^[:alph…
PHP-正则表达式删除引号并添加大括号? - php好吧,我不愿承认这一点,但是我对REGEX感到很困难,我永远找不到关于如何设置表达式的不错的教程。所以说我有这样的事情context['something'] 我想将所有事件更改为context[something] 那我有' . $var . ' 我想将所有事件更改为{var} 这是当前的概念,但是我在正则表达式部分…
php preg_replace两个或更多空格 - php我正在寻找替换多个空格字符的实例。我最初的搜索似乎都集中在使用/s,但这包括换行符和其他空格我认为应该接近吗?用一个空格替换两个或更多实例空格" "preg_replace('/ {2,}/', ' ', $string); 参考方案 尝试一下:preg_replace('/\s\s+/&…