从db中替换字符串中的整行代码

时间:2014-11-03 13:35:04

标签: php paypal str-replace

$find1 = "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"_top\">";
$replace1 = "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"paypal\">";
$find2 = "<input type=\"hidden\" name=\"cmd\" value=\"_s-xclick\">";
$replace2 = "<input type=\"hidden\" name=\"cmd\" value=\"_cart\"><input type=\"hidden\" name=\"add\" value=\"1\">";
$paypalcartcode = str_replace("$find1", "$replace1", $qry_listItems['paypal_code']);
$paypalcartcode = str_replace("$find2", "$replace2", $qry_listItems['paypal_code']);
$paypalcartcode = str_replace("https://www.paypalobjects.com/en_US/i/btn/btn_buynow_SM.gif","images/shop/icons/addtocart.png", $qry_listItems['paypal_code']);
echo $paypalcartcode;

我试图通过我的数据库替换paypal代码中的几行。 $ qry string具有按钮的原始代码,因为我手动添加相同的代码但是在立即购买版本中,这个应该将其转换为Cart one,但问题是它甚至不会做出更改。< / p>

我认为因为str_replace不是正确的代码,或者我写错了。 我检查了页面本身并通过代码,它只是不知道用替换的代码更新当前代码。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

如果您想用str_replace函数替换变量,则必须在没有变量双引号的情况下调用该函数。试试这个:

$paypalcartcode = str_replace($find1, $replace1, $qry_listItems['paypal_code']);

我测试了以下代码,它运行正常...

$find1 = "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"_top\">";
$replace1 = "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"paypal\">";
$qry_listItems['paypal_code'] = "I am a text.... <form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"_top\"> .... for testing the str_replace function";
$paypalcartcode = str_replace($find1, $replace1, $qry_listItems['paypal_code']);
echo htmlentities( $paypalcartcode);