2016-01-12 54 views
-2

所以我创建了一个接受文本输入的CMS。当我从数据库中获取数据时,这就是数据的使用方式。如何处理特殊字符,如分号和引号在php

echo "<img src=" . $row['image_url'] . " alt=" . $row['caption'] . ">"; 

现在的问题是,每当有一个逗号或者分号,PHP将其视为代码的一部分和页面最终要么不渲染以及或有错误彻底打破像

Parse error: syntax error, unexpected '=' in

我试过使用htmlspecialcase()发布数据到MySQL数据库时,但它没有解决问题。

编辑:主要问题是与替代部分不是src部分。

+0

试试这个:http://php.net/manual/en/function.addslashes.php。像这样:addslashes($ row ['image_url']),它会转义字符串中的所有特殊字符。 –

+0

没有办法让PHP执行表单输入,除非你生成PHP代码,或者在代码上做一些愚蠢的事情,例如'eval()'。 –

+0

你可以试试这两种方式<?php echo“”; ?> //或 <?php echo''; ?> – varunkumar

回答

2

当你使用双引号(")创建stringliteral和字符串常量要使用双引号("),那么你可能escape那些双引号("),形成一个有效的字符串。

echo "<img src=\"" . $row['image_url'] . "\" alt=\"" . $row['caption'] . "\">"; 
+0

谢谢。这解决了单引号问题,但它仍然不适用于双引号或分号。 – digiwebguy

+0

考虑为每个问题询问一个单独的问题。 –

+0

@digiwebguy如果这个答案适合你,请考虑接受它。 –

0

你可以尝试这样的:

<img src="<?php echo $row['image_url'];?>" alt="<?php echo $row['caption'];?> "> 
相关问题