ruby에 블로그 아카이브 변환기를 쓰고 있습니다. WordPress의 게시물 내용을 HTML 형식으로 변환하려면 WordPress의 wpautop() 함수를 구현해야합니다.ruby1.8에서 regexp (? <! ...)을 재 작성하는 방법 (wpautop 함수를 다시 구현)
원래 wpautop() 함수 : http://pastebin.com/BzV8bXxQ이
내 루비 구현 : https://github.com/chloerei/blog_converter/blob/master/lib/blog_converter/adaptor/wordpress.rb 그것은 1.8.7에서, ruby1.9.2에 BU를 잘 작동 Wordpress#wpautop_filter
참조, 에러
blog_converter/lib/blog_converter/adaptor/wordpress.rb:147: undefined (?...) sequence: /(?<!<br \/>)\s*\n/
를 던져
출처
// In php
$pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
# In ruby
string.gsub!(%r|(?<!<br />)\s*\n|, "<br />\n") # optionally make line breaks
일부 검색 후 ruby1.8.7에 새로운 정규식 엔진 'Oniguruma'가 없다는 것을 알았습니다. 새로운 정규식 구문을 지원하지 않습니다.
- 는 이전 구문에 루비 < 1.9.0
- 재 작성
/(?<!<br \/>)\s*\n/
를 사용하는 경우
더 나은 어떤 방법입니다 'oniguruma'따라 추가
그래서 나는 두 가지 방법이 생각? 그리고이 정규 표현식을 다시 쓰는 방법? 작품 주장 미리 보지 않으면
감사를 시도 내 간단한 단위 테스트를 통과. – Rei