这里是使用imagemagick创建动画文本的代码。
$label=$_POST["label"];
$cmd = " -background transparent -font $font -pointsize $size label:$label -stroke black -strokewidth 2 ".
" \( -clone 0 -tile \"" . $image . "[0]\" -stroke black -strokewidth 2 -gravity center -annotate +0+0 $label \) ".
当我在标签栏中输入“1234”时,上面的代码很好...但是当我输入“12 34”时它不显示它只显示“12”它没有在字符之间取“空格”...需要为“label”变量做些什么..不知道如何解决这个问题..请帮我解决这个问题......
答案 0 :(得分:0)
我的帖子已编辑完成。看看hakre发布了什么,它是better answer而不是我的。
string escapeshellarg ( string $arg )
应该做的伎俩,加上它允许你将一个字符串直接传递给被视为单个安全参数的shell函数
答案 1 :(得分:0)
使用撇号,例如http://www.imagemagick.org/Usage/text/#label
中的“多行标签”示例$cmd = " -background transparent -font $font -pointsize $size label:'$label' -stroke black -strokewidth 2 ".
答案 2 :(得分:0)
将整个字符串放在双引号中,因为命令行中不允许使用空格。在下面,我使用$label
转义序列将\"
的两个用法括在双引号中:
$label=$_POST["label"];
$cmd = " -background transparent -font $font -pointsize $size label:\"$label\" -stroke black -strokewidth 2 ".
" \( -clone 0 -tile \"" . $image . "[0]\" -stroke black -strokewidth 2 -gravity center -annotate +0+0 \"$label\" \) ".