urber Posted August 6, 2006 Share Posted August 6, 2006 Hi,I got a problem here, how to replace - to space (empty).I got a sentence for example:Going to shopping - in the afternoonI want to replace the - and the sentence will become:Going to shopping in the afternoonPLease kindly help thank you. Quote Link to comment Share on other sites More sharing options...
redarrow Posted August 6, 2006 Share Posted August 6, 2006 example[code]<?php$word=" my name is - redarrow and i like shopping":$replace_word=str_replace("-"," ",$word);echo $replace_word;?>[/code] Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted August 6, 2006 Share Posted August 6, 2006 Use the function str_replace();[code]<?php$str = 'Going to shopping - in the afternoon';$new = str_replace('-',' ',$str);echo $new;?>[/code]Ken Quote Link to comment Share on other sites More sharing options...
urber Posted August 6, 2006 Author Share Posted August 6, 2006 Hi guys,thanks for reply but it doesn't seem to work..I got a script to draw out title from the mysql database and write to xml.But when it met sentence with - it will change to ?and than xml will give me this error:line 96, column 41: title contains bad characters [help]<title>Going to shopping ? in the afternoon</title>..my code:[quote]<?php$select = "SELECT * FROM table1 ORDER BY id DESC LIMIT 18";$query = mysql_query($select) or die(mysql_error());$file = fopen("feed.xml", "w");fwrite($file, "<?xml version='1.0'?><rss version='2.0'><channel><title>Whatever</title><link>http://www.domain.com</link><description>my desc</description><language>en-us</language>");function chopSent($varb,$num) {$dnum = intval($num);if (strlen($varb) > $dnum) {$nvarb = substr($varb, 0, $dnum);$nvarb .= "..." ;} elseif (strlen($varb) < $dnum) {$nvarb = $varb;}return $nvarb;}while($array = mysql_fetch_array($query)){extract($array);$sentence2 = $content; $sentence2 = str_replace("-"," ",$sentence2);$sentence2 = stripslashes($sentence2);$sentence2 = strip_tags($sentence2);$sentence2 = chopSent($sentence2, 150);$new = $maintitle; // Going to shopping - in the afternoon << this is the title$new = str_replace("-"," ",$new);// $content and $maintitle are drawn from my database both have this - problem when print to xml,// tried using the code but still printing ? instead of blank.fwrite($file, "<item><title>$new</title><link>http://www.domain.com/index.php?id=$id</link><description>$sentence2</description></item>");}//end of while loopfwrite($file, "</channel></rss>");fclose($file);[/quote]Xml print out results:-<rss version="2.0">−<channel><title>Whatever</title><link>http://www.domain.com</link><description>my desc</description><language>en-us</language><title>Going to shopping ? in the afternoon <<< --- this ? cause error.</title>−<link>http://www.domain.com/index.php?id=69630</link>−<description>Story description</description>Any helps?Thanks Quote Link to comment Share on other sites More sharing options...
ronverdonk Posted August 6, 2006 Share Posted August 6, 2006 The PHP manual states[quote]The following things are considered to be empty: "" (an empty string) 0 (0 as an integer) "0" (0 as a string) NULL FALSE array() (an empty array) var $var; (a variable declared, but without a value in a class) [/quote]So best thing to do is[code]$replace_word=str_replace("-","",$word);[/code] Quote Link to comment Share on other sites More sharing options...
AndyB Posted August 6, 2006 Share Posted August 6, 2006 Actually, you want to replace "- " with "" to avoid the double space that would otherwise result with " - " having just "-" replaced. Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted August 6, 2006 Share Posted August 6, 2006 This question & answer stream shows how important it is to enter all pertanent information when the initial question is asked. If the OP had included the example that was provided after two answers were given, those answers would have been different.The example given clearly shows that what the OP wants to replace is not a common dash ("[b]-[/b]"), but most likely an emdash or endash saved from another document.Take a look at http://en.wikipedia.org/wiki/Dash for an explanation of the codes used.Ken Quote Link to comment 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.