randall Posted February 18, 2012 Share Posted February 18, 2012 I am sure this has been answered in the past and is a valid question, I have searched high and low for this solution on and off for a few months. Any help would be greatly appreciated... Please note: if you respond, keep it simple-ish - I code but not advanced. First, take a look at the HTML source on the following page... Specificity the meta description. http://boormanarchery.com/test.php?route=common/home&information_id=5 <META NAME="Description" CONTENT="Terms & Conditions - <p> Terms & Conditions</p> "> HTML code is pulled into the description field... I want to strip every single piece of HTML. Here is my HTML / PHP code... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <?php $con = mysql_connect("localhost","username","password"); mysql_select_db("MyDatabase",$con); if (!$con) { die('Could not connect: ' . mysql_error()); } // Get ID From URL $id = (isset($_GET['information_id']) ? $_GET['information_id'] : 0); $routeid = (isset($_GET['route']) ? $_GET['route'] : 0); // Return Product Code and Select $details = "SELECT * FROM information_description WHERE information_id=($id)"; $SQ_query = mysql_query($details); $detail = mysql_fetch_array($SQ_query); $metatitle = $detail['title']; $longdescription = $detail['description']; $metadescription=substr($longdescription, 0, 150); $metakeywords=substr($longdescription, 0, 150); mysql_close($con); ?> <html> <head> <title>Boorman Archery: <?php echo "$metatitle"; ?></title> <META NAME="Description" CONTENT="<?php echo "$metatitle"; ?> - <?php echo html_entity_decode($metadescription, ENT_QUOTES, "ISO-8859-1"); ?>"> <META NAME="Keywords" CONTENT="<?php echo "$metatitle"; ?> , archery, boorman, bows, arrows"> <META NAME="author" content="Randall Wright"> <META NAME="copyright" content="Boorman Archery"> <meta http-equiv="pragma" content="no-cache"> <META NAME="language" content="en-us"> <META NAME="rating" content="General"> <META name="robots" content="index,follow"> <META NAME="revisit-after" content="7 Days"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/ Share on other sites More sharing options...
Pikachu2000 Posted February 18, 2012 Share Posted February 18, 2012 Look at this manual entry: strip_tags. Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1318689 Share on other sites More sharing options...
randall Posted February 20, 2012 Author Share Posted February 20, 2012 I will do a Paypal donate if u can fix this!! Please! Thank you so much Pikachu2000, but after playing with your code and many other examples over the weekend, I can not get it right. I think I need a bit more of a hand with this... I am begging, can someone please... The following example is just one of the MANY ways I have tried to remove all the unwanted junk. All I want left is readable text with absalutly no HTML, CSS, or strange things like... <p> As you can see below,....ARRRRRG! I have tried strip_tags, htmlspecialchars, preg_replace, strrpos, str_replace, htmlentities, and I don't know how many more... I have tried to use arrays that others have built, and I think everything else I could find through a weekend of solid searching and testing. <?php $desc = $metadescription; $match = array( "/<ref(?:[^\/&]|&(?!gt;))*\/>/is", "/<ref[^\/]*>(.*?)<\/ref>/s",); $desc = preg_replace($match,'',$desc); echo $desc; ?> Output: <p style="text-align: center; "> <strong>The Staff of Boorman Archery</strong></p> <p style="text-align: Another Example: function strip_html_tags( $uncleandescription ) { $uncleandescription = preg_replace( array( // Remove invisible content '@<head[^>]*?>.*?</head>@siu', '@<style[^>]*?>.*?</style>@siu', '@<script[^>]*?.*?</script>@siu', '@<object[^>]*?.*?</object>@siu', '@<embed[^>]*?.*?</embed>@siu', '@<applet[^>]*?.*?</applet>@siu', '@<noframes[^>]*?.*?</noframes>@siu', '@<noscript[^>]*?.*?</noscript>@siu', '@<noembed[^>]*?.*?</noembed>@siu', // Add line breaks before and after blocks '@</?((address)|(blockquote)|(center)|(del))@iu', '@</?((div)|(h[1-9])|(ins)|(isindex)|(p)|(pre))@iu', '@</?((dir)|(dl)|(dt)|(dd)|(li)|(menu)|(ol)|(ul))@iu', '@</?((table)|(th)|(td)|(caption))@iu', '@</?((form)|(button)|(fieldset)|(legend)|(input))@iu', '@</?((label)|(select)|(optgroup)|(option)|(textarea))@iu', '@</?((frameset)|(frame)|(iframe))@iu', ), array( ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',"$0", "$0", "$0", "$0", "$0", "$0","$0", "$0",), $uncleandescription ); // you can exclude some html tags here, in this case B and A tags return strip_tags( $uncleandescription , ' ' ); } $description=substr($uncleandescription, 0, 150); ?> <?php echo strip_tags("Hello <b><i>world!</i></b>","<b>"); ?> <html> <head> <title>Boorman Archery: <?php echo strip_tags($metatitle); ?></title> <META NAME="Description" CONTENT="<?php echo strip_tags($metatitle); ?> - <?php echo strip_tags($description); ?>"> <META NAME="Keywords" CONTENT="<?php echo strip_tags($metatitle); ?>, archery, boorman, bows, arrows"> <META NAME="author" content="Randall Wright"> <META NAME="copyright" content="Boorman Archery"> <meta http-equiv="pragma" content="no-cache"> <META NAME="language" content="en-us"> <META NAME="rating" content="General"> <META name="robots" content="index,follow"> <META NAME="revisit-after" content="7 Days"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> Output: Note the: <p> Hello <b>world!</b> <html> <head> <title>Boorman Archery: </title> <META NAME="Description" CONTENT=" - <p> Your bow requires minimal maintenance, but does need some care and attention to keep it in perfect order. Following these simple steps sho"> <META NAME="Keywords" CONTENT=", archery, boorman, bows, arrows"> <META NAME="author" content="Randall Wright"> <META NAME="copyright" content="Boorman Archery"> <meta http-equiv="pragma" content="no-cache"> <META NAME="language" content="en-us"> <META NAME="rating" content="General"> <META name="robots" content="index,follow"> <META NAME="revisit-after" content="7 Days"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1319269 Share on other sites More sharing options...
Pikachu2000 Posted February 20, 2012 Share Posted February 20, 2012 The problem is that <strong> isn't recognized as a tag. < and > are html entities until decoded with html_entity_decode. $meta = '<p style="text-align: center; "> <strong>The Staff of Boorman Archery</strong></p> <p style="text-align: '; echo trim(strip_tags(html_entity_decode($meta))); // RETURNS "The Staff of Boorman Archery" Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1319272 Share on other sites More sharing options...
randall Posted February 20, 2012 Author Share Posted February 20, 2012 U Freakin ROCK!!! Thank you! Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1319305 Share on other sites More sharing options...
AyKay47 Posted February 21, 2012 Share Posted February 21, 2012 U Freakin ROCK!!! Thank you! Make sure that you donate like you said you would, please. Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1319421 Share on other sites More sharing options...
trq Posted February 21, 2012 Share Posted February 21, 2012 U Freakin ROCK!!! Thank you! Make sure that you donate like you said you would, please. There is no pressure or requirement to donate. Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1319466 Share on other sites More sharing options...
randall Posted February 21, 2012 Author Share Posted February 21, 2012 Don't worry I will....I am transferring from my Canadian bank so it will take a few days extra. I have no problems paying for the odd bit of help especially when it goes to a forum like this! Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1319602 Share on other sites More sharing options...
randall Posted February 25, 2012 Author Share Posted February 25, 2012 Here is my latest... I am still getting some of the bits like and some javascript is being pulled in as well... I now need to get rid of that pesky javascript as well. Below in the Description... I am also wondering if anyone would be cleaning this up for me? I am sure there is a way to streamline the code. Thanks!!! - Unbanned?? I was never banned. <META NAME="Description" CONTENT="Field Tournaments - var popupWindow = null; function centeredPopup(url,winName,w,h,scroll){ LeftPosition = (screen.width"> <?php $con = mysql_connect("############","#######","###########!"); mysql_select_db("boorman_open",$con); // Get Product Code From URL $informationid = (isset($_GET['information_id']) ? $_GET['information_id'] : 0); $homepageid='25437'; $routeid = (isset($_GET['route']) ? $_GET['route'] : 0); $productid = intval($_GET['product_id']); $categoryid = (isset($_GET['product/category']) ? $_GET['product/category'] : 0); $pathid = (isset($_GET['path']) ? $_GET['path'] : 0); $filterid = (isset($_GET['filter_name']) ? $_GET['filter_name'] : 0); $companyname = "Boorman Archery"; if ($routeid == "common/home") { $get = "SELECT * FROM setting WHERE setting_id='25430'"; $SQ_query = mysql_query($get); $fetch = mysql_fetch_array($SQ_query); $metatitle = $companyname; $longdescription = $fetch['value']; $metadescription=substr($longdescription, 0, 150); $metakeywords=substr($longdescription, 0, 150); } elseif ($routeid == "information/information") { $get = "SELECT * FROM information_description WHERE information_id=($informationid)"; $SQ_query = mysql_query($get); $fetch = mysql_fetch_array($SQ_query); $metatitle = $fetch['title']; $longdescription = $fetch['description']; $metadescription=substr($longdescription, 0, 150); $metakeywords=substr($longdescription, 0, 150); } elseif ($productid = $productid) { $get = "SELECT * FROM product_description WHERE product_id=($productid)"; $SQ_query = mysql_query($get); $fetch = mysql_fetch_array($SQ_query); $metatags = $fetch['name']; $longdescription = $fetch['description']; $metadescription=substr($longdescription, 0, 150); $metakeywords=substr($longdescription, 0, 150); $metatitle=substr($metatags, 0, 50); } elseif ($pathid = $pathid) { $get = "SELECT * FROM `category_description` WHERE `category_id` = ($pathid)"; $SQ_query = mysql_query($get); $fetch = mysql_fetch_array($SQ_query); $metatitle = $fetch['name']; $longdescription = $fetch['description']; $metadescription=substr($longdescription, 0, 150); $metakeywords=substr($longdescription, 0, 150); } elseif ($filterid = $filterid) { $metatitle = $filterid; $metadescription = $filterid; $metakeywords = $filterid; } else { $details = "SELECT * FROM product_description WHERE product_id=($productid)"; echo " "; } mysql_close($con); ?> <title><?php echo $companyname; ?>: <?php echo trim(strip_tags(html_entity_decode($metatitle))); ?></title> <META NAME="Description" CONTENT="<?php echo trim(strip_tags(html_entity_decode($metatitle))); ?> - <?php echo trim(strip_tags(html_entity_decode($metadescription))); ?>"> <META NAME="Keywords" CONTENT="<?php echo trim(strip_tags(html_entity_decode($metatitle))); ?>, archery, bow, arrows, compound bow, archer, bowhunting, field archery, target archery <?php echo trim(strip_tags(html_entity_decode($metakeywords))); ?>"> <META NAME="author" content="Randall Wright"> <META NAME="copyright" content="Company"> <meta http-equiv="pragma" content="no-cache"> <META NAME="language" content="en-us"> <META NAME="rating" content="General"> <META name="robots" content="index,follow"> <META NAME="revisit-after" content="7 Days"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1321161 Share on other sites More sharing options...
randall Posted March 2, 2012 Author Share Posted March 2, 2012 Just made my donation, thanks again folks! Quote Link to comment https://forums.phpfreaks.com/topic/257262-html-code-in-my-php/#findComment-1323155 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.