简体   繁体   中英

Remove words with specific ending from variable in PHP

currently I have this code:

// main title of product
$maintitle = 'CHICKENBUFFET HOT WINGS';

// take first word from $maintitle and put in new variable
list($title1) = explode(' ', $maintitle);

// words that start with CHICKEN are removed and put in new variable
$title2 = preg_replace('/(CHICKEN)\w+/', '', $maintitle);

// echo titles
echo $title1;
echo $title2;

This works fine, however I don't want to remove words that start with CHICKEN, but words that ending with BUFFET. I think it has something to with my REGEX in the preg_replace line, but I can't seem to find the correct expression.

Thanks advance!

As you need string end with BUFFET make changes as below

$title2 = preg_replace('/\w+(BUFFET)/', '', $maintitle);

Full code

$maintitle = 'CHICKENBUFFET HOT WINGS';

// take first word from $maintitle and put in new variable
list($title1) = explode(' ', $maintitle);

// words that start with CHICKEN are removed and put in new variable
$title2 = preg_replace('/\w+(BUFFET)/', '', $maintitle); // changed this line

// echo titles
echo $title1;
echo "<br/>";
echo $title2;

Try this regex:

#\\w+BUFFET#

Any word ending in BUFFET will match.

<?php

// main title of product
$maintitle = 'CHICKENBUFFET HOT WINGS';

// take first word from $maintitle and put in new variable
list($title1) = explode(' ', $maintitle);

// words that start with CHICKEN are removed and put in new variable
$title2 = preg_replace('/\w+BUFFET/', '', $maintitle);

// echo titles
echo $title1."\n";
echo trim($title2);

Which will output :

CHICKENBUFFET 
HOT WINGS

Try it here: https://3v4l.org/FbMjk

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM