【问题标题】:PHP how to store words of a sentence into a string without explodePHP如何将一个句子的单词存储成一个字符串而不爆炸
【发布时间】:2016-05-30 11:02:02
【问题描述】:

我正在为我的网站制作一个 php 标签脚本。 我已经完成了代码,但是我的代码太长了。

我的代码可以更简单更短吗?

<?php
    include("admin/apps/site-settings.php"); // database connection
    $albumq = mysql_query("select * from albums order by rand() limit 20");
    while($album = mysql_fetch_array($albumq)){
    $name_a = str_replace("&apos;s","",$album['name']);
    $name_b = str_replace("&quot;","",$name_a);
    $name_c = str_word_count($name_b, 1);
?>
<?php if(!empty($name_c[0])){?>
    <a href="search-<?php echo $name_c[0];?>.html">
        <div class="tag">
            <?php echo $name_c[0];?>
        </div>
    </a>
<?php }?>
<?php if(!empty($name_c[1])){?>
    <a href="search-<?php echo $name_c[1];?>.html">
        <div class="tag">
            <?php echo $name_c[1];?>
        </div>
    </a>
<?php }?>
<?php if(!empty($name_c[2])){?>
    <a href="search-<?php echo $name_c[2];?>.html">
        <div class="tag">
            <?php echo $name_c[2];?>
        </div>
    </a>
<?php }?>
<?php if(!empty($name_c[3])){?>
    <a href="search-<?php echo $name_c[3];?>.html">
        <div class="tag">
            <?php echo $name_c[3];?>
        </div>
    </a>
<?php }?>
<?php if(!empty($name_c[4])){?>
    <a href="search-<?php echo $name_c[4];?>.html">
        <div class="tag">
            <?php echo $name_c[4];?>
        </div>
    </a>
<?php }?>
<?php if(!empty($name_c[5])){?>
    <a href="search-<?php echo $name_c[5];?>.html">
        <div class="tag">
            <?php echo $name_c[5];?>
        </div>
    </a>
<?php }?>

网站输出:

我在 localhost 上运行它,所以目前无法提供链接。

【问题讨论】:

标签: php html arrays string explode


【解决方案1】:
<?php
include("admin/apps/site-settings.php"); // database connection
$albumq = mysql_query("select * from albums order by rand() limit 20");
while($album = mysql_fetch_array($albumq)){
    $name_a = str_replace("&apos;s","",$album['name']);
    $name_b = str_replace("&quot;","",$name_a);
    $name_c = str_word_count($name_b, 1);

    foreach ($name_c as $value)
    {
        if (!empty($value))
        {
            echo "
            <a href='search-{$value}.html'>
                <div class='tag'>
                    {$value}
                </div>
            </a>";
        }
    }
}
?>

【讨论】:

  • 这非常有效,而且很简单,非常感谢。我应该学会使用 foreach。
  • @PraneethMadushan 没问题 :)。如果我的回答对你有用,请接受它(带有绿色复选标记),以便未来的用户/读者知道它对你有用。
【解决方案2】:

使用 foreach 循环相同,使用类似

if(count($name_c) > 0)
{
    foreach($name_c as $name)
    {
        ?>
        <a href="search-<?php echo $name; ?>.html">
            <div class="tag">
                <?php echo $name; ?>
            </div>
        </a>
        <?php
    }
}

【讨论】:

  • 我没有DV,但上面的答案很干净。
猜你喜欢
  • 1970-01-01
  • 2016-02-23
  • 2015-11-19
  • 2016-05-10
  • 1970-01-01
  • 2023-03-11
  • 2017-01-22
  • 2012-11-04
  • 1970-01-01
相关资源
最近更新 更多