0

ねえ、私は今ここにリンクしている私のウェブサイトの URL を持っています:

 <div id="blog_posts_container">
    <h3><a href="<?php echo (isset($row_getDisplay['post_id']) ? $row_getDisplay['post_id'] : ''); ?>_<?php echo (isset($row_getDisplay['title']) ? $row_getDisplay['title'] : ''); ?>.html"<?php echo (isset($row_getDisplay['title']) ? $row_getDisplay['title'] : ''); ?></a></h3>

そして私の.htaccessには次のものがあります:

RewriteRule ^([^_]*)_([^_]*).html$ post.php?post_id=$1&title=$2 [L]

"86_I%20am,%20who%20I%20am.html" から "86_I-am-who-I-am.html" への URL を取得するにはどうすればよいですか?

編集:私はそれを行い、次のような特殊文字を置き換えるようにしました:; / などですが、スペースが再びあります。これが私のコードです:

<h3><a href="<?php echo (isset($row_getDisplay['post_id']) ? $row_getDisplay['post_id'] : ''); ?>_<?php echo str_replace(array(':', '\\', '/', '*'), ' ', urldecode($row_getDisplay['title'])); ?>.html" ><?php echo (isset($row_getDisplay['title']) ? $row_getDisplay['title'] : ''); ?></a></h3>
4

2 に答える 2

3

str_replacefunction replace space を使用して、次のようにします。

$url = str_replace(' ', '-', urldecode($row_getDisplay['title']));

PHP マニュアルstr_replaceを参照してください

于 2013-01-25T12:13:29.123 に答える
0
 urldecode($row_getDisplay['title'])

%20 は単語間のスペースです

于 2013-01-25T12:34:19.503 に答える