2021 03,09 17:32 |
|
ちょいちょい忘れるので
通常PHPで、JSON形式を戻すときは、 header("Content-Type: application/json; charset=utf-8"); echo json_encode($json_data); などとするかと思います。 $json_dataにhtmlタグなどが入っていた場合、意図した形にならない echo json_encode($json_data , JSON_HEX_TAG | JOSN_HEX_QUOT | JSON_HEX_AMP | JSON_HEX_APOS | JSON_UNESCAPED_UNICODE); と、いろいろなものをエスケープしてあげる必要がある。 APIなどを作るときに、ちょいちょい忘れて、調べなおすので。 PR |
|
2020 12,17 17:59 |
|
2020 12,14 17:23 |
|
2020 12,14 17:13 |
|
結論、デフォルトでは出来ません。。。
いろいろ調べた結果、この結果 でもね、世の中には同じような人がいるんですね。 https://gist.github.com/kijtra/3074750 をMySQLの関数(function)としてくれば、除去してくれるんです。 でも、これだと対象のカラムが、nullだったり、空だったりするとエラーになったのです。 なので、上記の関数をもとに、nullだったら、処理をしないという処理を追加 (処理ってほど偉そうなもんじゃないです。) DELIMITER //
DROP FUNCTION IF EXISTS `STRIP_TAGS`//
CREATE FUNCTION STRIP_TAGS( x longtext) RETURNS longtext
LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE sstart INT UNSIGNED;
DECLARE ends INT UNSIGNED;
IF x IS NOT NULL THEN
IF x != "" THEN
SET sstart = LOCATE('<', x, 1);
REPEAT
SET ends = LOCATE('>', x, sstart);
SET x = CONCAT(SUBSTRING( x, 1 ,sstart -1) ,SUBSTRING(x, ends +1 )) ;
SET sstart = LOCATE('<', x, 1);
UNTIL sstart < 1
END REPEAT;
END IF
END IF;
RETURN x;
END;
// IF文を追加しただけ kijtraさんに、感謝です。 |
|
2020 12,14 17:03 |
|
結構、はまったので。
開発のAWSでは動作する それをコピーして、本番を作ったのに、本番では動作しない なぜ? まぁとりあえずは、本番の構築が先だったので、その対応を 参考にしたサイト https://qiita.com/ryujimiya2361/items/4b0212e7e3c04124f47d 同じように dllをapache/bin 配下に入れた 入れておくと、動作するやつ
deplister ext/php_curl.dll で依存関係を調べられるって知らなかったなぁ 参考サイトさん、感謝です。 HTTP クライアントである Guzzle は内部で PHP 組み込みの curl を利用しているので、 どうにもこうにもハマった |
|
忍者ブログ [PR] |