php - Finding and Replacing String and characters around it -


stackoverflow.

let's have variable:

$paragraph = "this bunch of random information. here url: http://example.com/inventory/personid checking out!"; 

i need detect if $paragraph has url in it, if personid changes, , save variable, replace new code. example, should walk away with:

$url = "http://example.com/inventory/personid"; $replace = "newinformation!"; $newparagraph = "this bunch of random information. here url: newinformation! checking out!"; 

i'm pretty sure has strpos(), have no idea past that.

edit: personid represented along lines of #730_2_1697061248 numbers change.

just use preg_replace(), replace url:

echo $newparagraph = preg_replace("/\b" . preg_quote($url, "/") . "\s*/", $replace, $paragraph); 

output:

this bunch of random information. here url: newinformation! checking out! 

regex explanation:

/\b . preg_quote($url, "/") . \s* 
  • \b assert position @ word boundary (^\w|\w$|\w\w|\w\w) test matches characters test literally (case sensitive)
  • preg_quote($url, "/") -> http\:\/\/example\.com\/inventory\/
  • \s* match non-white space character [^\r\n\t\f ]
    • quantifier: * between 0 , unlimited times, many times possible, giving needed [greedy]

Popular posts from this blog