Jump to content

How to replace "-" to space?


urber

Recommended Posts

Hi,

I got a problem here, how to replace - to space (empty).

I got a sentence for example:

Going to shopping - in the afternoon

I want to replace the - and the sentence will become:

Going to shopping in the afternoon


PLease kindly help thank you.




Link to comment
Share on other sites

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 loop

fwrite($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
Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.