Jump to content

Archived

This topic is now archived and is closed to further replies.

urber

How to replace "-" to space?

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.




Share this post


Link to post
Share on other sites
example

[code]
<?php

$word=" my name is - redarrow and i like shopping":

$replace_word=str_replace("-"," ",$word);

echo $replace_word;

?>
[/code]

Share this post


Link to post
Share on other sites
Use the function str_replace();
[code]<?php
$str = 'Going to shopping - in the afternoon';
$new = str_replace('-',' ',$str);
echo $new;
?>[/code]

Ken

Share this post


Link to post
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

Share this post


Link to post
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]

Share this post


Link to post
Share on other sites
Actually, you want to replace "- " with "" to avoid the double space that would otherwise result with " - " having just "-" replaced.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

×

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.