-2

Looking to do a replace for google index my links without spaces, commas, and another characters

my curent code

<a href="report-<?php echo str_replace(" ", "-", $db['Subject'])?>-<?=$db['id']?>" class="read-more-button">Read More</a>

I'm looking to make it for any characters like $, #, &, ! ; not only for spaces.

4

5 に答える 5

0

array次のようにstr_replace関数に送信できます。

$strip = array('%','$','#','&','!'); 
<a href="report-<?=str_replace($strip, '-', $db['Subject'])?>-<?=$db['id']?>" class="read-more-button">Read More</a>

ただし、URL を作成するには、これを使用します。

<?php
    function stripChars($str)
    {
        $bads    =    array(".","+"," ","#","?","!","&" ,"%",":","–","/","\\","'","\"","”","“",",","£","’");
        $goods   =    array("","-","-","-","" ,"" ,"and","" ,"" ,"" ,"","","","","","","","","","");
        $str    =    str_replace($bads,$goods,$str);
        return strtolower($str);
    }
?>
    <a href="<?=stripChars('report ' . $db['Subject'] . ' ' . $db['id'])?>" class="read-more-button">Read More</a>
于 2013-08-09T14:11:38.733 に答える
0
<?php
$replace=str_replace(array(" ","\$","#","&","!",";"),'-',$db['Subject']);
echo "<a href='report-{$replace}-{$db['id']}' class='read-more-button'>Read More</a>";
?>

これにより、配列内のすべてのものをハイフンで str_replace する変数 $replace が作成されます

于 2013-08-09T14:11:42.507 に答える
0

これは私がナメクジを作成するために使用するものです

strtolower(preg_replace('/[\s-]+/', '-', preg_replace('/[^A-Za-z0-9-]+/', '-', preg_replace('/[&]/', 'and', preg_replace('/[\']/', '', trim($string))))));
于 2013-08-09T14:07:52.460 に答える
0

クレジットはaskingboxの作者に送られます:

$f = 'fi?le.txt';

$f = str_replace(array('$', '#',' &', '!', '\\','/',':','*','?','"','<','>','|'),' ',$f);

echo $f; // 'fi le.txt'

使用する:

function make_safe($str){
return  str_replace(array('$', '#',' &', '!', '\\','/',':','*','?','"','<','>','|'),' ',$str);
}

<a href="report-<?php echo make_safe($db['Subject'])?>-<?=$db['id']?>" class="read-more-button">Read More</a>
于 2013-08-09T14:26:07.617 に答える
0

str_replace 関数を使用すると、置換に配列を使用できます。このような:

まず、置き換えたい文字の配列を作成します。

$replace = array(" ", "-", "_", "#", "+", "*");

次に、str_replace で配列名を指定します。

$originalString = '<a href="http://www.somewhere.co.uk">My Link</a>';

$newString = str_replace($replace, "", $originalString);

$newString は、$replace 配列にある各項目を削除します。

于 2013-08-09T14:09:00.467 に答える