Reputation: 458
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!
Upvotes: 1
Views: 154
Reputation: 12375
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
Upvotes: 2
Reputation: 6223
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;
Upvotes: 2