我使用
替换字符串中的其他字符String slash_data=cap_data.replaceAll("/", "%2F");
但在替换“^”期间,它并没有替换为该位置。
String string_data="058000657^HELLO HI /"
String cap_data=string_data.replaceAll("^", "%5E");
这有什么问题?
答案 0 :(得分:4)
问题是$('#buySize').click(function () {
$('#dropdown_id').show();
});
方法采用正则表达式而不是文字字符串,replaceAll
是正则表达式符号,意思是"当前行的开头"。所以它根本不是在寻找^
字符。
您需要转义^
字符:尝试使用^
。
(这也有些令人困惑。字符串中的单个反斜杠充当转义字符,因此您需要字符串由单个反斜杠后跟\\^
组成。但是您编写单个反斜杠的方式在您的源代码中为^
,因为您需要转义反斜杠...)
答案 1 :(得分:3)
^是正则表达式中的特殊字符。它表示字符串的开头。所以你必须逃脱它:
<?php
require('../../../wp-load.php');
require_once(ABSPATH . 'wp-includes/functions.php');
require_once(ABSPATH . 'wp-includes/shortcodes.php');
header('Content-Type: application/json');
$post_name = $_REQUEST['page'];
if($post_name!=''){
if($post_name=='services') {
$args = array(
'post_parent' => $page['services']['id'],
'post_type' => 'page',
'post_status' => 'published'
);
$posts = get_children($args);
foreach($posts as $po){
$services_array[] = array('id'=>$po->ID,'title'=>$po->post_title,'image'=>get_post_meta($po->ID, 'webservice_page_image',true),'description'=>preg_replace("~(?:\[/?)[^/\]]+/?\]~s", '', $po->post_content));
}
$post = array(
'status'=>'ok',
'services'=>$services_array
);
echo json_encode($post);
}
}
?>