채택완료

php 글에서 한줄마다 array의 element로 설정하기

2023-10-12 (목) 04:28:40 3,650

1. 개요
2. 어형
3. 역사
4. 구성
5. 특징
6. 중요성
7. 종류
7.1. 게임 설명서
7.1.1. 팔콘 매뉴얼의 예
7.2. 장난감 설명서
8. 부차적 기능: 복사 방지
9. 관련 문서

위와 같은 글을 넣었을때 한줄마다 array에 넣을려고 하려면 어떻게 해야 하나요? \n 으로 구분하려 했는데 안되네요.. 

Copy
$text = $view['content'];

    // 텍스트를 줄 단위로 분할
    $lines = explode("\n", $text);

 

    // 결과 확인
    print_r($lines);
 

1291041981_1697052814.3689.png

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
Copy
<?php
$text = '
1. 개요
2. 어형
3. 역사
4. 구성
5. 특징
6. 중요성
7. 종류
7.1. 게임 설명서
7.1.1. 팔콘 매뉴얼의 예
7.2. 장난감 설명서
8. 부차적 기능: 복사 방지
9. 관련 문서
';

// 텍스트를 줄 바꿈 문자로 분할합니다.
$lines = preg_split('/\n|\r/', $text);

// 배열 초기화
$items = [];

// 첫 번째와 마지막 항목을 제외한 항목을 선택합니다.
for ($i = 1; $i < count($lines) - 1; $i++) {
    $line = trim($lines[$i]);
    $items[] = $line;
}

// 각 항목을 줄 바꿈 문자로 출력합니다.
foreach ($items as $item) {
    echo $item . "<br>";
}
?>

답변에 대한 댓글 1개

채택 감사 합니다.

text mode 가 아닌 html 모드로 확인이 된 부분이 아닌가 생각해봅니다.

text mode 에서는 기대하는 결과가 나오며

Copy
<?php
$content = <<<HEREDOC
1. 개요
2. 어형
3. 역사
4. 구성
5. 특징
6. 중요성
7. 종류
7.1. 게임 설명서
7.1.1. 팔콘 매뉴얼의 예
7.2. 장난감 설명서
8. 부차적 기능: 복사 방지
9. 관련 문서
HEREDOC;

$view = ['content' => $content];
?>

 

 

<?php
$text = $view['content'];
// 텍스트를 줄 단위로 분할
$lines = explode("\n", $text);

// 결과 확인
print_r($lines);
?>

html mode 에서는 다음과 같은 방법으로 시도해볼수 있습니다.

Copy
<?php
$content = '<p>1. 개요</p><p>2. 어형</p><p>3. 역사</p><p>4. 구성</p><p>5. 특징</p><p>6. 중요성</p><p>7. 종류</p><p>7.1. 게임 설명서</p><p>7.1.1. 팔콘 매뉴얼의 예</p><p>7.2. 장난감 설명서</p><p>8. 부차적 기능: 복사 방지</p><p>9. 관련 문서</p>';

$view = ['content' => $content];
$view['content'] = preg_replace(['!<[^/]+>!', '!</[^/]+>!'], ['', "\n"], $view['content']);
?>

 

 

<?php
$text = $view['content'];
// 텍스트를 줄 단위로 분할
$lines = explode("\n", $text);

// 결과 확인
print_r($lines);
?>

답변을 작성하려면 로그인이 필요합니다.