close ad
Install the LAtest Updates to Work with CC 2017 and CC 2018
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

preg_replace

Thread began 3/25/2013 6:06 am by JamieEff | Last modified 3/25/2013 3:28 pm by JamieEff | 548 views | 4 replies |

JamieEff

preg_replace

Hey guys

Am trying to use pre_replace to remove the <img> and <a> tags from some content so that I can use it as a meta description.

Individually they work fine:

html:
<meta name="description" content="<?php echo(str_replace(array("<p>","</p>"),"",substr(preg_replace("/<img[^>]+\>/i", " ",$row_BlogRS['BlogContent']),0,250))."..."); ?>">



or

html:
<meta name="description" content="<?php  echo(str_replace(array("<p>","</p>"),"",substr(preg_replace("/<a href=\"(.*)\">/i",  " ",$row_BlogRS['BlogContent']),0,250))."..."); ?>">



But if I try to combine them the meta description on the resulting page is blank:

html:
<meta name="description" content="<?php echo(str_replace(array("<p>","</p>"),"",substr(preg_replace("/<a href=\"(.*)\">/i", "/<img[^>]+\>/i", " ",$row_BlogRS['BlogContent']),0,250))."..."); ?>">



what am I doing wrong please?

Many thanks

Jamie

Sign in to reply to this post

Jason ByrnesWebAssist

you need to use 2 separate preg_replace functions, one to remove images, and another to remove anchors.


due to the complexity of what you are trying to accomplish, it may be better to create a function to perform each string manipulation rather than trying to add them all inline.

Sign in to reply to this post

JamieEff

Um.... how would I do that please Jason?

Sign in to reply to this post

Jason ByrnesWebAssist

create the function in the document head to perform each string conversion, for example:

php:
<?php

function convertString($string) {
    
$retStr $string;
    
$retStr str_replace(array("<p>","</p>"), ""$retStr);
    
$retStr preg_replace("/<a href=\"(.*)\">/i"" "$retStr);
    
$retStr preg_replace("/<img[^>]+\>/i"" "$retStr);
    return 
$retStr;
}
?>




the you can call the function in the echo statement tag:

php:
<?php echo(convertString($row_BlogRS['BlogContent'])); ?>
Sign in to reply to this post

JamieEff

That's great. Thanks for the tip :)

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...