简体   繁体   中英

Get the .html after the echo

How to get the link of .html after the .$obj->product_name. ?

I have tried it as bellow. But it only shows the link of http://.com/forbiden insted of http://.com/forbiden rice.html where it cuts the rice.html

        echo '<span class="product-name"><a href=products/'.$obj->product_name ."html". 'target=_blank>'.$obj->product_name.'</a></span></br>';

Try with urlencode($obj->product_name)
Hope that helps :)

Attribute values containing spaces must be quoted in HTML (and it is good practise to always quote your attribute values).

The space between forbiden and rice is terminating the attribute value.

URLs aren't allowed to have spaces in them anyway, so you should run the string through urlencode too.

You'll find it easier to deal with the quotes if you break out of PHP mode to output HTML instead of trying to mash it together in strings.

Also note that you should escape text content for HTML with htmlspecialchars as a defence against XSS.

$url = "products/" .urlencode($obj->product_name) . ".html";
?>
    <span class="product-name">
        <a 
            href="<?php echo htmlspecialchars($url); ?>" 
            target="_blank">
                <?php echo htmlspecialchars($obj->product_name); ?>
        </a>
    </span>
    <br>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM