English 中文(简体)
用购买力平价取代文字或文字组合
原标题:Replace words or words combinations with PHP regexp

我已绘制了替换词的地图:

$map = array(
   word1  =>  replacement1 ,
   word2 blah  =>  replacement 2 ,
  //...
);

我需要替换措辞。 但是,只有在以下情况下才能替换:

  • It is not in the middle of some other word ex. textword1 will not be replaced with replacement1 because it is part of another token.
  • Separators must be saved, but words before/after them should be replaced.

我可以把扼杀与言辞分开,但是,如果将用几条标语绘制的数值(如word2 blah)的话,这并不奏效。

最佳回答
$map = array(    foo  =>  FOO ,
                 over  =>  OVER );

// get the keys.
$keys = array_keys($map);

// get the values.
$values = array_values($map);

// surround each key in word boundary and regex delimiter
// also escape any regex metachar in the key
foreach($keys as &$key) {
        $key =  / .preg_quote($key). / ;
}

// input string.    
$str =  Hi foo over the foobar in stackoverflow ;

// do the replacement using preg_replace                
$str = preg_replace($keys,$values,$str);

问题回答

暂无回答




相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...