2012-02-06 2 views
1

나는 내 Wordpress 블로그를 작성 중이며 게시물 제목을 가져 와서 "-"로 나누어야합니다. 물건이 그것의 & ndash와 내가 웹 사이트에서 결과를 볼 때, 그것의 "긴 마이너스"(–)에 있기 때문에, 그것은 작동하지 않는다. 이 긴 마이너스를 복사하여 일부 편집기에 붙여 넣으면 일반 마이너스 (-)가됩니다. 나는 "-"에서 나눌 수 없다. & ndash 그러나 어떻게 든 그것이 가능해야한다. 기사를 만들 때 방금 "-"(빼기)를 입력했지만 어딘가에서 자동으로 –으로 변환됩니다.PHP의 –에서 Wordpress 제목을 어떻게 분할합니까?

아이디어가 있으십니까?

감사합니다.

답변

1

나는 그것을 발견했다고 생각한다. 필자가 게시물에 코드를 붙여 넣을 때 인용 부호가 em-quad로 변환되면 독자에게 표시 될 때 비슷한 문제가 발생한다는 것을 기억합니다.

내가 그 /wp-include/formatting.php 라인 (56) (3.3.1 버전 워드 프레스)에서 발견, 일부 문자가

$static_characters = array_merge(array('---', ' -- ', '--', ' - ', 'xn–', '...', '``', '\'\'', ' (tm)'), $cockney); 
$static_replacements = array_merge(array($em_dash, ' ' . $em_dash . ' ', $en_dash, ' ' . $en_dash . ' ', 'xn--', '…', $opening_quote, $closing_quote, ' ™'), $cockneyreplace); 

라인 (85)에가 대체을 교체 할 필요가 정의

// This is not a tag, nor is the texturization disabled static strings 
$curl = str_replace($static_characters, $static_replacements, $curl); 
+0

나는 내 질문을 편집했습니다 ... – EOB

+0

그들은 변형 된 데이터베이스에 저장되기 전에 편집기에서 정상적인 마이너스를 입력합니다. 페이지가 표시 될 때 php는 브라우저에 코드화 된 양식 "& ndash"를 제공하고 브라우저는이를 "-"로 표시합니다. – horsley

+0

브라우저는 긴 마이너스 (–)가 아닌 정상적인 (-)을 표시합니다. – EOB

0

"-"문자로 문자열을 분할하려면 기본적으로 "-"를 공백으로 대체해야합니다.

이 시도 :

$string_to_be_stripped = "my-word-test"; 
$chars = array('-'); 
$new_string = str_replace($chars, ' ', $string_to_be_stripped); 
echo $new_string; 

이 라인은에서 문자열을 분할 "-". 예를 들어 my-word-test를 사용하면 "my word test"가 표시됩니다. 나는 그것이 도움이되기를 바랍니다.

str_replace 함수에 대한 자세한 내용은 here을 클릭하십시오.

WordPress 스타일에서 이것을 수행하려면 filters을 사용해보십시오. 나는 당신의 functions.php 파일에 다음 줄을 배치하는 것이 좋습니다 :

add_filter('the_title', function($title) { 

$string_to_be_stripped = $title; 
$chars = array('-'); 
$new_string = str_replace($chars, ' ', $string_to_be_stripped); 
return $new_string; 

}) 

지금, 당신은 루프에서 the_title 사용할 때마다이 제목 이스케이프됩니다.

+0

나는 빼기가 없기 때문에 마이너스로 바꾸거나 나눌 수 없다. 왜냐하면 내가 PHP에서 "-"또는 & ndash를 사용할 때마다 그 문자를 찾지 못하기 때문에 쪼개지거나 바꾸거나하지 않기 때문이다. 문제는 분할 된 기능이 아니며 문제는 숯을 사용하지 않아서 분리해야하는 char입니다. – EOB

+0

어디에서 WordPress의 방법으로 $ title 매개 변수를 지정합니까? 또는 위의 코드를 더 이상 변경하지 않고 추가 할 수 있습니까? – EOB

+0

$ title 매개 변수를 지정할 필요가 없습니다. $ title 매개 변수는 Wordpress에서 자동으로로드됩니다. 더 이상 변경하지 않고 위의 코드를 시도하십시오. – zuzuleinen

관련 문제