PHP调用TextLocal.in SMS API:优化消息代码格式且不影响发送
解决TextLocal.in SMS API模板换行的代码优化问题
以下几种方案可以帮你在保留短信模板正确换行的同时,优化代码格式、降低误删换行的概率:
1. 使用HEREDOC语法维护清晰的换行结构
HEREDOC能直接保留代码里的换行格式,不用拼接字符串,结构一目了然,很难误删换行:
$message = <<<EOT Hi, welcome. Your Login OTP is $code Please use this OTP to login to your account and connect with people and access ebooks. Shubham Jha EOT;
这里的空行就是短信里的换行,和你审核通过的模板完全对应,变量还能直接嵌入,不用手动拼接。
2. 定义换行常量统一管理
如果习惯用字符串拼接,可以把换行符定义成常量,替代看不见的换行符,让代码里的换行意图更明确:
// 先确认原模板用的是\n还是\r\n,对应设置常量 define('SMS_LINE_BREAK', "\n"); $message = 'Hi, welcome. Your Login OTP is '.$code.SMS_LINE_BREAK.SMS_LINE_BREAK .'Please use this OTP to login to your account and connect with people and access ebooks.' .SMS_LINE_BREAK.SMS_LINE_BREAK.'Shubham Jha';
常量名比隐藏的换行符显眼得多,修改或维护时不容易误删。
3. 分离模板与变量替换
把固定的模板内容单独定义,只替换动态变量,核心换行结构完全固定,不会被误改:
// 提前写好带正确换行的模板 $sms_template = "Hi, welcome. Your Login OTP is %s Please use this OTP to login to your account and connect with people and access ebooks. Shubham Jha"; // 只替换动态变量部分 $message = sprintf($sms_template, $code);
这种方式把模板结构和业务逻辑分开,修改变量时根本碰不到换行部分,彻底避免误删。
注意事项
- 必须保证最终生成的
$message和TextLocal平台审核通过的模板完全一致(包括换行的位置和数量),否则还是会返回"Invalid Template"错误。 - 先确认原模板使用的换行符是
\n还是\r\n,所有方案里的换行都要和原模板匹配。
内容的提问来源于stack exchange,提问作者RedStar Entertainment
相关产品推荐
相关产品推荐

